package com.algoshow.utils;

/**
 * @author vvv
 * @date 2023-05-22 21 59
 * discription
 */
public class SystemUtils {


    // 测试用户输入的数据是否合法
    public static boolean isValidData(String data) {
        if (data == "" || data == null) {
            return false;
        }
        if (data.length() > SystemConstants.MAX_INPUT_LENGTH) {
            return false;
        }
        for (int i = 0; i < data.length(); i++) {
            char c = data.charAt(i);
            if (!(c >= '0' && c <= '9') && c != 'x') {
                return false;
            }
        }
        return true;
    }
    // 测试用户输入的数据是否合法
    public static boolean isValidDataAndIndex(String data, String index) {
        if (data == "" || data == null) {
            return false;
        }
        if (data.length() > SystemConstants.MAX_INPUT_LENGTH) {
            return false;
        }
        for (int i = 0; i < data.length(); i++) {
            char c = data.charAt(i);
            if (!(c >= '0' && c <= '9') && c != 'x') {
                return false;
            }
        }
        if (Integer.valueOf(index) > data.length() || !isValidInsert(index)) {
            return false;
        }
        return true;
    }
    // 判断用户输入的插入数据是否合法
    public static boolean isValidInsert(String index) {
        if (index == "" || index == null) {
            return false;
        }
        if (index.length() > 2) {
            return false;
        }
        for (int i = 0; i < index.length(); i++) {
            char c = index.charAt(i);
            if (!(c >= '0' && c <= '9')) {
                return false;
            }
        }
        return true;
    }

    //判断用户输入的value值是否合法
    public static boolean isValidValue(String value) {
        if (value == "" || value == null) {
            return false;
        }
        if (value.length() > 3) {
            return false;
        }
        for (int i = 0; i < value.length(); i++) {
            char c = value.charAt(i);
            if (!(c >= '0' && c <= '9')) {
                return false;
            }
        }
        return true;
    }

    public static boolean isValidBracket(String value) {
        String bracket = "()[]{}";
        for (int i = 0; i < value.length(); i++) {
            char c = value.charAt(i);
            if (bracket.indexOf(c) == -1) {
                return false;
            }
        }
        return true;
    }
}
